//
//  GAKKIBaseLabel.h
//  GANGAIKit
//
//  Created by fh on 2019/11/6.
//  Copyright © 2019 cashchina. All rights reserved.
//

#import <UIKit/UIKit.h>
#import "GAKKIConfig.h"
@class GAKKIBaseLabel;

NS_ASSUME_NONNULL_BEGIN

typedef GAKKIBaseLabel * _Nonnull (^GAKKILabelFrame) (CGRect frame);
typedef GAKKIBaseLabel * _Nonnull (^GAKKILabelBackgroundColor) (UIColor * __nullable backgroundColor);
typedef GAKKIBaseLabel * _Nonnull (^GAKKILabelText) (NSString * __nullable text);
typedef GAKKIBaseLabel * _Nonnull (^GAKKILabelFont) (UIFont * __nullable font);
typedef GAKKIBaseLabel * _Nonnull (^GAKKILabelTextColor) (UIColor * __nullable textColor);
typedef GAKKIBaseLabel * _Nonnull (^GAKKILabelTextAlignment) (NSTextAlignment textAlignment);
typedef GAKKIBaseLabel * _Nonnull (^GAKKILabelAttributedString) (NSAttributedString * __nullable attributedText);
typedef GAKKIBaseLabel * _Nonnull (^GAKKILabelNumberOfLines) (NSInteger numberOfLines);

/// 标签基类
@interface GAKKIBaseLabel : UILabel

/// 初始化统一样式
+ (instancetype)initGAKKIBaseLabel;

/// 工厂类方法
/// @param block 实例对象
+ (GAKKIBaseLabel *)gakki_makeLabel:(void(^)(GAKKIBaseLabel * label))block;

/// 尺寸
@property (nonatomic, readonly, copy) GAKKILabelFrame gakki_frame;
/// 背景颜色
@property (nonatomic, readonly, copy) GAKKILabelBackgroundColor gakki_backgroundColor;
/// 文本
@property (nonatomic, readonly, copy) GAKKILabelText gakki_text;
/// 字体
@property (nonatomic, readonly, copy) GAKKILabelFont gakki_font;
/// 字体颜色
@property (nonatomic, readonly, copy) GAKKILabelTextColor gakki_textColor;
/// 文本对齐方式
@property (nonatomic, readonly, copy) GAKKILabelTextAlignment gakki_textAlignment;
/// 富文本
@property (nonatomic, readonly, copy) GAKKILabelAttributedString gakki_attributedText;
/// 行数
@property (nonatomic, readonly, copy) GAKKILabelNumberOfLines gakki_numberOfLines;

@end

NS_ASSUME_NONNULL_END
